home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / slack-docs / cnews / procnews < prev    next >
Text File  |  1995-07-27  |  2KB  |  49 lines

  1. #!/bin/sh
  2. # procnews: send out and bring in our news.
  3. # Copyright 1995 John A. Phillips - john@linux.demon.co.uk
  4. # usage: procnews [news_server]
  5.  
  6. # Set up the defaults
  7. default_server="news.demon.co.uk"
  8. default_prefix=".demon.co.uk"
  9. slurp_tries=3
  10.  
  11. # Set the news server:
  12. # * If you don't name a news_server it defaults to $default_server
  13. # * If you give a name without a "." $default_prefix is added
  14. # * If you give a name including a "." the name is used literally
  15. news_server=${1:-${default_server}}
  16. if [ `echo $news_server | grep -Fc "."` -eq 0 ]; then
  17.     news_server=${news_server}${default_prefix}
  18. fi
  19.  
  20. # Send out the news we have ready to go
  21. su news -c "/usr/lib/newsbin/batch/sendbatches demon" &
  22.  
  23. # Pick up the news via slurp.
  24. slurp_result=4
  25. while [ $slurp_result -eq 4 -a $slurp_tries -gt 0 ]; do
  26.     su news -c "/usr/local/sbin/slurp -x $news_server"
  27.     slurp_result=$?
  28.     sleep 3
  29.     slurp_tries=`expr $slurp_tries - 1`
  30. done
  31. if [ $slurp_result -ne 0 ]; then
  32.     echo slurp failed with exit code $slurp_result
  33.     if [ $slurp_result -eq 4 -o $slurp_result -eq 3 ]; then
  34.         exit $slurp_result
  35.     fi
  36. fi
  37.  
  38. # Wait for the outgoing news processes to complete if required.
  39. wait
  40.  
  41. # Unbatch and store the news that came in; then update the nn threading 
  42. # database; then update the nn subject database (all in the background).
  43. # Remove the last two commands in the braces below if you don't use nn.
  44. {   su news -c /usr/lib/newsbin/input/newsrun; \
  45.     su news -c /usr/lib/nn/nnmaster; \
  46.     su news -c /usr/lib/nn/nnspew } &
  47.  
  48. exit $slurp_result
  49.